package com.brainhealth.customer.service;

import com.brainhealth.customer.domain.ChatBase;
import com.brainhealth.customer.domain.ChatParam;
import com.brainhealth.customer.domain.ChatQueryParam;
import com.brainhealth.customer.domain.HelloChat;
import com.brainhealth.customer.domain.vo.ChatRecordVO;
import com.brainhealth.customer.domain.vo.ChatVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author wll
 */
public interface IChatService {

    /**
     * 查询聊天状态
     * 0：接着聊
     * 1：日期打招呼，开启下次课程
     * 2：关闭青竹
     * @param request
     * @return
     */
    int getChatStatus(HttpServletRequest request);
    /**
     * 获取下次聊天内容
     * @param request
     * @param chatQueryParam
     * @return
     */
    ChatVO getNextChat(HttpServletRequest request,ChatQueryParam chatQueryParam);

    /**
     * 保存聊天记录
     * @param request
     * @param chatParam
     * @return
     */
    int saveChatRecord(HttpServletRequest request, ChatParam chatParam);

    /**
     * 查询聊天记录列表
     * @param request
     * @return
     */
    List<ChatRecordVO> getChatList(HttpServletRequest request);

    /**
     * 获取聊天基本信息
     * @param request
     * @return
     */
    ChatBase getChatBase(HttpServletRequest request);

    /**
     * 刷新聊天模板数据
     * @return
     */
    long refreshChatTemplate();

    /**
     * 静止状态，点击弹出对话
     * @param request
     * @return
     */
    HelloChat sayHello(HttpServletRequest request);

    /**
     * 清理聊天记录
     * @return
     */
    void clearChatRecord();

    /**
     * 推送登录
     */
    void pushLogin();

    /**
     * 开启下一订单任务
     */
    void openNextTask();
}
